Oracle DatabaseのDBLINK自分用メモまとめページ #oci

您所在的位置:网站首页 dblink plsql Oracle DatabaseのDBLINK自分用メモまとめページ #oci

Oracle DatabaseのDBLINK自分用メモまとめページ #oci

2024-04-15 01:34| 来源: 网络整理| 查看: 265

■この記事で記載すること

Oracle DBLINKの基本接続構成の設定例と、Oracleを用いた以下のDBLINK構成自分用メモのまとめページを記載します。

基本接続 TCP接続:OracleからOracleへのDBLINK接続(TCP接続) TCPS接続:上記接続をTCPからTCPSに変更 Autonomous Database(ADB)を用いたDBLINK接続 ADBからADBへのDBLINK接続 ADBからDBCSへのDBLINK接続 OracleからNon-OracleDBへのDatabase Gateway for ODBC(DG4ODBC)を用いたDBLINK接続 DBCSからNon-OracleDB(MySQL)へのDBLINK接続 ADBからNon-OracleDB(MySQL)へのDBLINK接続(DG4ODBCとNon-OracleDBを同一ノードに配置) ADBからNon-OracleDB(MySQL Database Service : MDS)へのDBLINK接続(DG4ODBCとNon-OracleDBを別ノードに配置) ■Oracle DBLINKの概要説明 ● DBLINKとは

データベース・リンクとは、他のデータベース上のオブジェクトにアクセスできる、データベース上のスキーマ・オブジェクトです。他のデータベースは、Oracle Databaseシステムである必要はありません。ただし、Oracle以外のシステムにアクセスする場合は、Oracle異機種間サービスを使用する必要があります。 データベース・リンクを作成した後で、表名、ビュー名またはPL/SQLオブジェクト名に@dblinkを追加し、そのリンクをSQL文で利用して、他のデータベース上の表、ビューおよびPL/SQLオブジェクトを参照できます。SELECT文を使用して、他のデータベース上の表またはビューを問い合せることができます。INSERT文、UPDATE文、DELETE文またはLOCK TABLE文を使用してもリモート表およびビューにアクセスできます。`

SQL言語リファレンスから引用

■ DBLINK基本接続構成(TCP接続) ● システム構成イメージ

Oracle(ローカル) -- [Oracle Net : TCP] --> Oracle(リモート)

※システム構成図に変更予定

● 主な構成要素と概要説明 構成要素 概要説明 Oracle(ローカル) リモートに接続するためのOracle Net(sqlnet/tnsnames)設定 Oracle(リモート) ローカルからの接続を受けるためのOracle Net(sqlnet/listener)設定 ● 設定例 Oracle(リモート)のOracle Net設定 Oracle(ローカル)のOracle Net設定 DBLINKの作成 - Oracle(リモート)のOracle Net設定

ネットワーク経由で接続を受け付けるためのノーマルなOracle Net設定 - sqlnet.ora - listener.ora

- Oracle(ローカル)のOracle Net設定

Oracle ClientとしてのノーマルなOracle Net設定 - sqlnet.ora - tnsnames.ora

- DBLINKの作成

DBLINKを作成

CREATE PUBLIC DATABASE LINK remote USING 'remote';

リモートのオブジェクトにアクセス

UPDATE employees@remote SET salary=salary*1.1 WHERE last_name = 'Baer'; ● 留意事項

global namesの利用要否 global namesを利用する場合、DBLNIKの名前をglobal namesのルールに沿って設定する必要がある。global namesを利用しない場合はglobal namesを無効化する

ローカルとリモートのOracleのバージョン間の整合性 ローカルはClietnの位置づけ、リモートはServerの位置づけで以下のMatrixを参考にバージョン間の整合性を確認する image.png

ローカルとリモートの間の疎通(L3/L4レベル) 一般的なL4レベルで疎通がとれていることを確認する → 特に、DBCSを利用している場合は、OCIのFirewall設定(SecurityListやNetwork Security Group)やDBCSのOSレベルでのFirewall設定(firewall-cmdやiptables)の設定を確認する

■ DBLINK基本接続構成(TCPS接続) ● システム構成イメージ

Oracle(ローカル)/w クライアントウォレットファイル -- [Oracle Net : TCPS] --> Oracle(リモート) /w サーバウォレットファイル

※システム構成図に変更予定

● システム構成説明(TCP接続との差分)

「DBLINK基本接続構成(TCP接続)」を基本に、TCPをTPCSに変更するための構成が必要となる

ウォレットファイルの作成、配置 ウォレットファイルを利用するためのOracle Net設定 ● 設定例 環境 ウォレットファイルの作成、配置 Oracle(リモート)のOracle Net設定 Oracle(ローカル)のOracle Net設定 DBLINKの作成 - 環境

この例では、Oracle(リモート)、Oracle(ローカル)ともにDBCS(Oracle Cloud Database Service)を利用

- ウォレットファイルの作成、配置

この記事を参考にウォレットファイルを作成のうえ、以下に配置する。

・クライアントウォレットファイル Oracle(ローカル)の/u01/client/wallet/に配置

・サーバウォレットファイル Oracle(リモート)の/u01/server/wallet/に配置

- Oracle(リモート)のOracle Net設定

・sqlnet.oraの編集

# sqlnet.ora Network Configuration File: /u01/app/19.0.0.0/grid/network/admin/sqlnet.ora # Generated by Oracle configuration tools. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) wallet_location = (SOURCE= (METHOD=File) (METHOD_DATA= (DIRECTORY=/u01/server/wallet))) SSL_SERVER_DN_MATCH=(ON)

・lisener.oraの編集 ファイルの先頭に以下を追記

wallet_location = (SOURCE= (METHOD=File) (METHOD_DATA= (DIRECTORY=/u01/server/wallet)))

・TCPSエンドポイントの再構成

$ srvctl modify listener -p "TCP:1521/TCPS:1522" $ srvctl stop listener $ srvctl start listener $ srvctl stop database -database dbcs0502_iad1fq #11gの場合は、-databaseの代わりに-dを用いる $ srvctl start database -database dbcs0502_iad1fq $ lsnrctl status LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-APR-2021 02:59:33 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 17-APR-2021 01:06:13 Uptime 0 days 1 hr. 53 min. 20 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/19.0.0.0/grid/network/admin/listener.ora Listener Log File /u01/app/grid/diag/tnslsnr/dbcs0502/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=10.0.1.136)(PORT=1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.1.136)(PORT=1521))) Services Summary... Service "+APX" has 1 instance(s). Instance "+APX1", status READY, has 1 handler(s) for this service... Service "+ASM" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "+ASM_DATA" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "+ASM_RECO" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "dbcs0502XDB.subnet.vcn05.oraclevcn.com" has 1 instance(s). Instance "dbcs0502", status READY, has 1 handler(s) for this service... Service "dbcs0502_iad1fq.subnet.vcn05.oraclevcn.com" has 1 instance(s). Instance "dbcs0502", status READY, has 2 handler(s) for this service... The command completed successfully - Oracle(ローカル)のOracle Net設定

sqlnet.oraの編集

WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/client/wallet) ) ) SSL_SERVER_DN_MATCH=(ON)

tnsnames.oraの編集

DBCS0502_IAD1FQ = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.136)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbcs0502_iad1fq.subnet.vcn05.oraclevcn.com) ) ) DBCS_TCPS = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = 10.0.1.136)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbcs0502_iad1fq.subnet.vcn05.oraclevcn.com) ) (SECURITY= (SSL_SERVER_CERT_DN="CN=dbcs")) ) - DBLINKの作成 SQL> CREATE PUBLIC DATABASE LINK DBLINK_DBCS_TCPS CONNECT TO "hoge" IDENTIFIED BY "WelCome123#123#" USING 'DBCS_TCPS'; ■参考情報 ● 参考リンク Documentation SQL言語リファレンス:create database link MOS(My Oracle Support) Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1) 分散トランザクション (Doc ID 1773383.1) How to view open dblink connections (Doc ID 387848.1) Blogs 古いバージョンのOracleデータベースでデータベース・リンクを使用している場合はパッチ適用が必要な場合があります


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3